package org.blogwu.learn.jvmlearn.class1;

/**
 * Created by Administrator on 2018/6/20.
 * <p>
 * <p>
 * 对于数组实例来说,其类型是由JVM在运行期间动态生成的,表示为 [Lorg.blogwu.jvm_learn.jvmlearn.class1.MyParent4
 * 这种形式.动态生成的类型,其父类型就是Object
 * <p>
 * 对于数组来说,JavaDoc经常讲构成数组的元素称为Component,实际上就是将数组降低一个维度后的类型
 * <p>
 * 助记符
 * anewarray:创建一个引用类型的(如类 接口 等)数组并将其引用值压入栈顶
 * newarray:创建一个指定的原始类型(如int  float ....)的数组,并将其引用值压入栈顶
 */
public class MyTest4 {
    public static void main(String[] args) {
//        MyParent4 myParent4=new MyParent4();
        MyParent4[] myp = new MyParent4[1];
        System.out.println(myp.getClass());
        System.out.println(myp.getClass().getSuperclass());

        int[] ints = new int[1];
        System.out.println(ints.getClass());
        System.out.println(ints.getClass().getSuperclass());

        Integer[] integers = new Integer[1];
        System.out.println(integers.getClass());
        System.out.println(integers.getClass().getSuperclass());

        byte[] bytes = new byte[1];
        System.out.println(bytes.getClass());
        System.out.println(bytes.getClass().getSuperclass());
    }
}

class MyParent4 {

    static {
        System.out.println("MyParent4 static block");
    }
}
